### Lesson Plan: Basic Programming in Python
#### Subject: Information Communication Technology
#### Level: Senior Secondary 2
#### Duration: 90 minutes
---
**Objective:**
By the end of this lesson, students will be able to:
1. Understand the basics of Python programming.
2. Write simple Python programs.
3. Utilize variables, data types, and basic arithmetic operations in Python.
**Materials Needed:**
- Computers with Python IDE (e.g., Anaconda, PyCharm, or Microsoft Visual Studio Code)
- Projector and Screen
- Internet access
- Printed handouts with Python syntax reference
- Whiteboard and markers
**Pre-Class Preparation:**
- Install Python and Python IDE on each computer.
- Prepare Python syntax reference handouts.
- Create a PowerPoint presentation covering the basics of Python.
---
### Introduction (15 minutes)
1. **Greeting & Attendance:** (2 minutes)
- Welcome the students and take attendance.
2. **Introduction to Programming:** (5 minutes)
- Briefly discuss what programming is and its importance in today's world.
- Show examples of everyday applications built with Python (e.g., web applications, games, scientific research tools).
3. **Introduction to Python:**
- Provide a brief history of Python and its significance. Mention Python's ease of learning and extensive community support.
---
### Lesson Development (50 minutes)
1. **Basic Concepts of Python:**
- **Syntax and Indentation (10 minutes):**
- Explain Python’s syntax and the importance of indentation.
- Show examples of properly and improperly indented code.
2. **Variables and Data Types (15 minutes):**
- Introduce variables and how to assign values to them.
- Discuss different data types such as integers, floats, strings, and Booleans.
- Hands-on activity: Write a simple program to assign and print variables.
3. **Basic Arithmetic Operations (10 minutes):**
- Demonstrate basic arithmetic operations in Python (addition, subtraction, multiplication, division).
- Discuss the use of arithmetic operators.
- Hands-on activity: Write a program to perform and print results of arithmetic operations.
4. **Simple Input and Output (10 minutes):**
- Explain how to take input from the user using `input()` function.
- Demonstrate printing output using `print()` function.
- Hands-on activity: Write a program that takes user input and performs arithmetic operations.
5. **Conditionals (If statements) (10 minutes):**
- Introduce conditional statements and their syntax.
- Show examples of simple `if`, `else`, and `elif` statements.
- Hands-on activity: Write a program using conditional statements.
---
### Practice and Review (20 minutes)
1. **Coding Exercise (15 minutes):**
- Give students a small coding task to practice using variables, arithmetic operations, and conditionals.
- Example Task: Write a Python program that takes two numbers as input, performs arithmetic operations, and prints the results along with a message indicating if the first number is greater than, less than, or equal to the second number.
2. **Review and Q&A (5 minutes):**
- Go over the task and discuss common issues.
- Answer any questions from students about the lesson.
---
### Conclusion (5 minutes)
1. **Summary:**
- Recap key points covered in the lesson: Python syntax, indentation, variables, data types, arithmetic operations, simple input/output, and conditionals.
2. **Homework Assignment:**
- Assign a simple project for students to practice:
- Write a Python program that calculates the area of a rectangle and a circle based on user input.
3. **Preview of Next Lesson:**
- Give a brief overview of what will be covered in the next lesson (loops and more complex data structures).
4. **Feedback:**
- Encourage students to provide feedback on the lesson.
5. **Dismissal:**
- Thank the students for their participation and dismiss the class.
---
**Evaluation:**
- Assess students based on their participation, hands-on coding activities, and the homework assignment.
- Provide constructive feedback to help them improve their programming skills.
**Supplemental Resources:**
- Online Python tutorials (e.g., Codecademy, W3Schools)
- Python documentation (https://docs.python.org/3/)
- Community forums like Stack Overflow for doubt clearing.